POV-Ray : Newsgroups : povray.general : Win32 PVMPOV Programmers Needed!! : Re: Win32 PVMPOV Programmers Needed!! Server Time
29 Jul 2024 06:22:06 EDT (-0400)
  Re: Win32 PVMPOV Programmers Needed!!  
From: Warp
Date: 29 Jun 2000 05:42:34
Message: <395b1a0a@news.povray.org>
In povray.general Chris Cason <nospam@noemail> wrote:
:> Even simpler is to send frames out to different systems.

: You don't have a clue what you're talking about. Come back when you understand
: the subject.

  Please try to understand that it is not so easy to know the difficulties
of multithreading and multitasking unless you have studied it or tried to
make lots of programs using it.
  I didn't have a clue about multithreading and multitasking (and their
problems) until I had several courses about the matter here (Tampere university
of technology).
  A layman can easily think that it's just a piece of cake to make
multitasked systems and multithreaded programs. It's only when you try to
do it or when you are taught about it that you realize how problematic it
really is. Some problems are so deep, that even the most modern science have
not solved them in a fool-proof manner.
  One could think that if it's so problematic, how come there are countless
operating systems and programs using it without problems?
  Operating systems have more than 30 years of experience about multitasking
behind them and they use well-known algorithms. These algorithms are often
extremely complicated, specially if the OS tries to achieve the multitasking
effectively, without too much overhead (multitasking is _never_ free; it
always consumes some resources). This is the reason why some systems don't
have multitasking at all and some others have only extremely poor versions
of them.
  A multithreaded program is not any luckier (if anything, it's the other
way around, ie. it can have even more problems). There are very serious
and complicated problems here, like mutual exclusion problems, communication
(between threads) problems, problems about sharing of resources, and so on.
Some operating systems offer system tools for these tasks (like semaphores,
monitors, etc), others don't.
  The big problem about these is that they are incredibly malicious. You can
have a mutual exclusion bug in your program which doesn't happen to you no
matter how many test runs you make. However when thousands of people start
to use the program, the bug can arise.
  These mutual exclusion (and other similar) bugs usually happen in only
certain conditions. These conditions are usually extremely rare and extremely
hard to reproduce (you'll have to reproduce the entire series of events that
lead to that bug, and this can be near to impossible since it may depend
on what the operating system was doing at that exact time).
  There's one adjective to describe this type of behaviour: Non-deterministic.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.